"""
开发环境：
LINUX/MAC Windows(不推荐)
虚拟机/云服务器/双系统

LINUX
---root用户权限
---apt
    ---install xxx 安装xxx
    ---remove xxx 移除xxx
    ---autoremove xxx 移除xxx和自动安装且不使用的包

ctrl+lat+t 打开终端



软件支持：
python3/2
pip
virtualenv:python专属虚拟环境
    -虚拟化技术：
        -虚拟机
        -虚拟容器
            -Docker
        -虚拟环境
            -virtualenv（python专用）
mysql

"""

"""
CS&BS模型
CS:
    -Client(客户端)
    -Server(服务器）
BS：
    -Browser（浏览器(客户端的一种)）
    -Server（服务器）

Django属于Server的一种

交互过程：
C/B发送request
server收到request
server返回response
请求一定要有相应！

"""


"""
简介

Django 2005年
最初用于新闻网站
开源

采用MVC（MTV）模式
官网： https://www.djangoproject.com/

LTS(长期支持版本)

"""

"""
MVC
一种软件设计典范，用一种业务逻辑，界面显示分离的方式组织代码
主要用于映射传统的输入，处理和输出功能在一个逻辑的图形化界面结构中
在修改交互界面时，不需要重写业务逻辑

核心思想：耦合
优点：
降低各个模块之间的耦合性，方便变更，个容易重构代码，最大程度实现了代码的重用

MVC（Model，View，Controller）
Model：用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法（增删改查），是Web应用程序中用于处理应用程序的数据逻辑部分，Model通常只提供功能性接口，通过接口可以获取Model的所有功能。

View：负责数据的显示和呈现，是对用户的直接输出

Controller：负责从用户端收集用户的输入，可以看成提供View的反向功能，主要用于用户交互


用户-》controller接受请求与输入-》通过Model交互数据库-》通过View反馈-》用户






mvc in Django：
用户-》发送Controller——》Controller把数据交给Model--》Model与数据库交互，并获取数据--》数据返还Controller---》Controller传给View--》用户
---》MTV
Model：负责业务逻辑与数据库（ORM）的对象
View：负责业务逻辑，并在适当时调用Model和Template
Template：负责把页面展示给用户
N：Django中有url分发器（路由），主要用来将一个个url页面的请求分发给不同的View进行处理，View再调用相应的Model和Template



"""















